openarenafandomcom-20200216-history
Special game options
OpenArena supports various game modes, with slightly different rules. Mainly, you have to choose among varous gametypes. You should take a look to Manual/Gamemodes. Additional mods may add new gametypes and options. In this page we are going explain some additional game options, usually controlled by CVARs, variables set using command console. They are not "gametypes", they are special game options. You can find some examples of their use in the Configuration examples page. Some of them have their effect applied immediately (e.g. g_speed), while others (e.g. g_instantgib) are activated at match (re)start (in this case, remember to set them before the "map" command in your server configuration, or type a /map_restart). Note: some of the settings listed in this page are from Quake 3 Arena (ancestor of OpenArena), but many of them have been added by OpenArena itself and thus will have no effect while running old mods. Please notice: if you are a server administrator, it could be a nice idea to set them using /sets command (for example, sets g_elimination 1); see set variables for important infos about this. Doing this, the variables are flagged as "serverinfo", thus being shown in "serverstatus" as happens for server parameters like fraglimit and gametype. This means that you can allow players to know if these options are enabled or not, checking from dpmaster web page, Qtracker or similar. Otherwise, players will not be able to know if they are enabled, unless they find out by themselves when playing on your server and noticing that there is "something" different than usual. Also message of the day can be used to inform who is connecting to your server about some server settings, if you wish. Elimination features outside Elimination mode * /g_elimination ''<0 or 1>'' - If you enable this, you will use some features from Elimination/CTF Elimination/Last Man Standing modes within other game modes, for example Free For All: you will enter the game with the weapons set for Elimination mode, you will be able to rocket-jump without hurting yourself, you will not find items (like ammo boxes and health) around the arena. Score mode will instead be the the one for the gametype selected, as usual. Default value is 0. You don't need to care about this cvar if you are playing "true" Elimination, CTF E or LMS mode. Please refer to Elimination#CVARs to control starting ammo and other options (not all the elimination_ cvars affects the g_elimination option). Notice that in Elimination/CTF Elimination game modes (\g_gametype 8 and 9), both self and team damage are controlled by \elimination_selfdamage; but when using other game types and enabling /g_elimination, it controls only damage to yourself: damage to team members is still controlled by \g_friendlyfire, as usual. Note: dmflags are stronger than elimination_selfdamage: elimination_selfdamage cannot enable selfdamage if dmflags forbids it. You may want to try also \g_vampire or \g_regen to get health. Vampire mode * /g_vampire '' - If you set this value >0, you will get health when hurting an opponent. For example, if you set it to 0.3, you will get health for about 1/3 of the damage to your opponent; if you set it to 1.7, you will get more health than the damage to your opponent, and with 1.0 you get the same amount of health than the damage caused. Be careful, since if you hit a corpse (the dead body of someone already killed, but not yet disappeared), you will ''get damage (you will lose health insead of collecting it): randomly spamming around with explosive ammo may be dangerous (and in particular, may be a major problem with proximity mines). Default value is "0.0" (disabled), and usually (if you want to use vampire mode) it is advisable to use values lower than 1.0, e.g. 0.3. * /g_vampire_max_health '' - When ''\g_vampire is used, maximum health value is customizable using this CVAR. Default value is 500. Note that this should not be set higher than 998, because 999 and over counts as infinity and the player will become impossible to kill. Another "risk" related to this cvar is to fall in a deadly pit that gives 999 damage and survive because you had more health, remaining trapped there until you suicide (/kill): to be absolutely sure you cannot survive to a fall that should kill you, this cvar should not be set over 798, because 799 (max vampire health) + 200 (max armor) = 999. Anyway, this risk exists only in few maps: in a correctly programmed map, being at the bottom of the deadly pit should continue to damage you, killing you in a short time anyway. Automatic regeneration * /g_regen '' - You can change this value to automatically get health as time passes, up to 100. Higher you set it, faster health will regenerate. Default value is 0. Instantgib * '/g_instantgib '' - "Instantgib" mode removes all items from the arena (no other weapons available, no health bonuses); you will have unlimited railgun ammo, and you will kill anyone with a single shot. 0=off, 1=rail only, 2=rail+gauntlet (gauntlet gives instant kill, too). You can set it to 0 or 1 also from "Skirmish" or "Multiplayer-Create" menu. Default value is 0. "Instantgib", also known as "Instagib", is a popular game mode, found -with some variants- in various Q3A mods, for example CorkScrew. Hint: if you like railgun-only matches, but you prefer to need more than a single hit to kill or to be killed, consider the option to use "g_elimination" feature, accordingly using the "elimination variables" to give only railgun ammo, but more starting health and armor (in this case, do not enable the "instantgib" feature). All rockets * '''/g_rockets ''<0 or 1> - "All rockets" mode removes all items from the arena (no other weapons available, no health bonuses); you will have unlimited rocket launcher ammo only. You can set it to 0 or 1 also from "Skirmish" or "Multiplayer-Create" menu. Default value is 0. Note: Rocket jumps still hurt you; if you want to do them without getting injuried, you can set g_rockets 1, g_elimination 1 and elimination_selfdamage 0. Alternatively, if you are running at least OpenArena 0.8.8, you can set g_rockets 1 and dmflags 1032''Dmflags 1032 means option 8 (no falling damage) + option 1024 (no self damage from weapons) enabled. If you want to enable other dmflags options at the same time, the total will vary.. See also ''Configuration examples/All rockets mode with rocket jumps. Friendly fire * /g_friendlyfire ''<0 or 1>'' - This option allows to choose if players can hurt and kill their team-mates during team game modes (except for Elimination and CTF Elimination game modes, where team damage is controlled by \elimination_selfdamage value). If it is enabled, if you kill a team-mate of yours, you (thus, your team) will lose a frag; if it is disabled, your shots will not damage them. Default value is 0, and if you create a match from Skirmish or Multiplayer-Create menu, you can see that it its enabled by default for Team Deathmatch mode, and disabled for other team modes (Capture The Flag, One Flag Capture, Overload, Harvester, Domination, Double Domination). Award pushing * /g_awardpushing ''<0 or 1>'' - When it is enabled, you will get a frag (score) if you shoot a character causing him to fall in a deadly pit. Note: you will hear a second "hit sound" if the enemy hurts himself after falling down cause of being "pushed" by your fire. Since OA 0.8.5, this variable is enabled by default, altough this feature is not present in the original Quake 3 game. Catch up * /g_catchup '' - This variable allows to balance the effectiveness of the weapons of more and less skilled (or that joined the game later) players, to help the latter ones to not get an enormous score gap from the first ones. It enables a sort of "automatic handicap" (but it does not change your "handicap" value -that is a client-side variable, while this one is server-side-... it is a different thing, and the two can even work together. Catch up does ''not change the maximum health level, unlike what handicap does.). While handicap affects the same way all the attacks of the player that uses it, g_catchup affects all players, but the damage reduction varies dynamically depending from players score. If it is enabled it will reduce damage done to low scoring players by up 50% (rounded up): it changes the damage caused by the attacks, if the attacker is more skilled (has got an higher score, starting from 6 points ahead) than the attacked. Catchup has been added in OA 0.8.5, and does not work in team games. Default value is 0 (disabled). An higher value means that the leader's attacks will get weaker more quickly (always starting from the sixth point of difference with the score of the victim). Negative values do not work. A value of 5 could be advisable, anyway you can consider your fraglimit: with a low fraglimit, an higher catch up value is advisable, while with an high fraglimit, you can also use a lower catch up value. That's the algorithm for calculation: damageModifier = 100-min(50,(max(5,attacker-target)-5)*g_catchup) attacker = killer's score target = victim's score damageModifier = damage dealt in percent (100% = full damage) Some examples: * A value of 1 means that a player with a score of 20 would only deal 95% damage to an enemy with score 10 or 90% damage to an enemy with score 5. Both the player with 5 and the player with 10 would deal 100% damage against each other and the player with 20. ** g_catchup = 2 would have reduced the damage done by leading player to 90% and 80%, respectively. * If it is set to 5 then the damage will be reduced by 5% for each frag above 5 from the score of the target player that is behind. If the target has a higher score than the attacker 100% damage will always be dealt. If the target is at most 5 frags behind the attacker 100% damage will be dealt. Catchup can therefore not be used to overtake the firstplace (except by providing momentum) in direct battle. You can do some tests enabling \g_debugdamage 1 (this shows damage info on console, and is 0 -disabled- by default). Runes * /g_runes ''<0 or 1>'' - This option disables of enables the "Runes" (also known as "Team Power-ups", "Permanent Power-ups", "Persistent Power-ups" or "Permanent runes"), some special items that were introduced with Quake 3: Team Arena. As far as OA 0.8.5, the Missionpack mod ignores this variable and always shows the runes, if the map contains them. They are "permanent" because, after you get one, you will have it until you die. They are "team" because usually'' you can get only the ones dedicated to your team'' (usually, those you find in your own base). Note: if they can be get by everyone or only by a certain team depends from the options set by the creator of the map (see Mapping#Limiting items to certain teams), so there could be some maps with them available independently from the teams. If they have the "dedicated team" limitation, they are useless during non-team-based matches (in some maps you could see them and discover that you are not able to pick-up them), so the map creator could hide them for non-team-based matches (see Mapping#Limiting items to certain gametypes) or even replace them with non-team-limited runes or other items. A player can have only one of them at once, and to have more players with the same rune at the same time, there must be more spawn points for it. The runes are Doubler, Guard, Scout and Ammoregen. Runes are disabled by default in baseoa (the main game), and always enabled instead in The Mission Pack (a mod designed to resemble Team Arena more closely). In baseoa, you can enable or disable them using g_runes <0 or 1>, and they will appear on maps that include them (for example, you can find "Guard" rune in oa_ctf4ish map). Game physics Changing the game physics can enable particular game styles. Please notice that, in some maps, setting too low speed or too high gravity may prevent you from reaching some places (your jumps may be too short). Note: if you are searching info about the various ways the program can simulate the physics ("framerate-dependent", "fixed" and "accurate" physics modes), see Game physics instead. Speed * \g_speed ' - This variable controls the players' speed. This refers to the standard speed when running, and (without the need to change this value) the speed can go beyond this value when "pushed" by jump-pads or explosions, and with particular techniques like the ''strafe jumps. Changing this value, obviously, allows the players to move faster or slower than usual. Default value is 320. Knockback * '\g_knockback ' - This variable controls the power of the "pushing" caused by weapons. For example, setting it to an higher value, will allow more powerful rocket jumps. Default value is 1000. Gravity * '\g_gravity ' - This variable changes the gravity level, making the jumps higher or lower (and changing the falling speed). It is usually set to 800, but its value is related to each map: when a map is loaded (or the match is restarted), g_gravity assumes the value selected by the map creator for that map. This means that, if you want to change it, you have to change it after the map has been loaded, and every time a new match begins. If you are using a map rotation script, you have to place the "g_gravity" command after the "map" command (we suggest at the very end of the line), and you have to use "map" command instead of "map_restart" even to play in the same map again, otherwise the map's value will overwrite yours. And be sure to set g_dowarmup to 0: this gravity script works with the "elimination warmup" (that is controlled by elimination_warmup and elimination_activewarmup variables), but '''not with the "generic warmup" (that is controlled by g_warmup and g_dowarmup); in case of g_dowarmup 1, g_gravity would be reverted to map default at the end of warmup! Please notice that situations that cause a map restart (e.g. voting for a "shuffle" of the teams during team-based games) and do not trigger the map rotation script (e.g. manual map changes), will cause the gravity change back to map default until the new match ends and the map rotation script continues to the next map. Example: set d1 "map am_galmevish; set nextmap vstr d2; g_gravity 1200" set d2 "map am_galmevish; set nextmap vstr d1; g_gravity 400" vstr d1 // start loop at d1 To avoid problems with g_gravity auto-reset feature, OpenArena 0.8.8 indroduced a new variable, g_gravitymodifier. Gravity modifier * \g_gravitymodifier ''' - This variable has been introduced with OpenArena 0.8.8 (you will not find it in previous versions or old mods). G_gravity value (map default or user customized) is multiplied by g_gravitymodifer value, and the result will be the effective gravity. Examples: g_gravity 800 * g_gravitymodifier 1.2 = 960 actual gravity; g_gravity 800 * g_gravitymodifier 0.7 = 560; g_gravity 600 * g_gravitymodifier 1 = 600. Default value is 1. '''Important: unlike g_gravity, g_gravitymodifier does not automatically return to its default value, but keeps the last value you set until you change it again. If you set a g_gravitymodifer value and then change map, the next map will use the same multiplier (the actual gravity may vary in case of a different g_gravity value). G_gravitymodifer may be useful while trying to emulate different framerate physics (e.g. to emulate 125fps physics while using accurate physics instead; however, the rounding error caused by framerate-dependent or fixed framerate physics varies with different g_gravity values, so there isn't a single g_gravitymodifer value that can emulate 125fps physics at all gravity values; anyway most maps use g_gravity 800 -more info here-), or to make lighter map rotation scripts. Quad factor * \g_quadfactor ' - The "quad damage" power-up, by default, multiplies the damage caused by your shots by 3. It is possible to change the multiply factor with this variable. Dmflags * '\dmflags ' - Default value is 0. This is a special variable that allows to change some aspects of the game. This is a "bit field" variable. Each option is identified by a number, and each number is the double of the previous: if you want to enable two or more options, you have to ''add up the two numbers, and set the variable accordingly. E.g.: to enable both the option corresponding to 8 and the one corresponding to 16, you have to set the variable to 24 (16+8=24). This sounds strange to human beings, but is friendly for computers, that work with binary digits (see binary numeral system on Wikipedia). In binary digits, 8 is written as 1000, 16 is written as 10000, and 24 is written as 11000: for the machine it is easy to check if each position of that numer is set to 0 or to 1, and acts accordingly (each position represents a different option). To know which options are enabled, starting from a certain dmflags value, convert it from decimal to binary using a scientific calulator (e.g. Microsoft Windows calculator "calc" can show a "scientific" version of itself), e.g. dec 40 = bin 101000, and then consider that the fourth position (starting from the right) is 8, the fifth is 16 and the sixth is 32: this way, you understand that 40 means that options 8 and 32 are enabled. To know how to set the variable, starting from the options you want to enable, is easier: just use a standard calculator and sum the values corresponding to the options you want. Quake 3 dmflags These are the dmflags values inherited from Quake 3. These are probably valid with any OpenArena release and most mods, too. No falling damage *8 - '''No falling damage. Disables falling damage. Players do not suffer from landing damage -unless the map itself contains an hurting "trigger", e.g. when you fall into deep space-. Fixed FOV *16 - Fixed FOV. Disables field of view change. Forces all players to see the game like having the default FOV (90); only own weapon is drawn accordingly to the FOV chosen. Can be used to make the game more fair for all players. No footsteps *32 - No footsteps. Disables footstep sounds. Mods dmflags Dmflags values that come from specific mods (example here): *You have to search in the documentation that comes with each mod (web sites, readme files, pre-defined .cfg files...) OpenArena dmflags Dmflags added starting with a certain OpenArena version. They will not work on old mods or servers running previous OA versions. Instant weapon change *64 - Instant weapon change. Introduced with OA 0.8.8. Weapon switch takes no time; weapons still need to reload before being changed. Non-accelerated jumping *128 - Non-accelerated jumping. Introduced with OA 0.8.8. Disables the techinque that allows to gain great speeds by jumping continuosly, and uses realistic jumping instead. Makes many maps impossible to be played as they were meant -''strafe jumping'' is an important part of Q3-style gameplay-, but could be useful for some mod creators. Total invisibility * 256 - No invisible skin. Introduced with OA 0.8.8. Players that hold the invisibility powerup become completely invisible, instead of being almost invisible. Light voting * 512 - Enable non-majority vote. Introduced with OA 0.8.8. Quake 3 and OpenArena up to 0.8.1 (and 0.8.8 by default) require that more than half of the players vote yes for a vote to pass (this means that not voting equals to vote "no": if there are 12 players on a server and 6 vote yes and 1 no, the vote fails); OA 0.8.5 changed this to a different method ("light voting", "non majority vote"... in the previous example vote would succeed because there are more yes-votes than no-votes and more than 30% of all voters voted yes and at least 2 players voted yes). OpenArena 0.8.8 makes "classic" voting system return, and enabled by default... but now allowing server admins to select their preferred voting system. In OA 0.8.8, not using this dmflags makes the server use classic voting; enabling this dmflags, instead, makes the server use light voting. Please notice that old mods always use the classic mode only, unless the mod itself has been designed with a different voting system. Mods based upon OA 0.8.5 game logic (if any exist) may have lightvoting always enabled. Note: lightvoting in 0.8.5 had a bug, so a vote would be ignored if the player respawned after voting; this has been fixed in 0.8.8. No self damage from weapons * 1024 - No self damage from weapons. Introduced with OA 0.8.8. You get no damage from your own plasma, rockets, grenades and BFG. Reminder: falling damage is controlled by dmflags 8, instead (1032 means both protections enabled, and may be very nice while playing in all rockets mode: tons of rocket jumps!). Your proximity mines do not hurt yourself anyway. Note: dmflags are stronger than elimination_selfdamage: elimination_selfdamage cannot enable selfdamage if dmflags forbids it. Videoflags * \videoflags ' - Default value is 7. This is a special variable that allows to limit users' range of allowed values for some ''graphic options, to prevent them from using some graphic settings that may give them unfair advantage against other players, or that may simple be impractical for effective use. This has been introduced with OpenArena 0.8.5 and is sometimes also known as "fairflags". It is a server-side "bit field" variable, just like "Dmflags" is: please read Dmflags section to understand how to interpret a bit-field variable. Default value of 7 means that all the three locks are enabled by default (7=4+2+1). Basic lock * 1 - '''Basic lock (a.k.a. FOV lock). Limits maximum field of view value, making the highest effective cg_fov and cg_zoomfov values to 140 (without the lock, the highest effective value is 160, but it's quite impractical to use). User can set higher values, but only his own weapon will be drawn that way: all the rest will be drawn like with 140 FOV. Note: if you are interested into forcing all players to use the same FOV (90) while playing on your server, there's the Fixed FOV dmflags for that. Extended lock * 2 - Extended lock. Limits r_picmip, r_intensity, r_overbrightbits, r_gamma, etc. to sane values. Example: if a player sets r_picmip to 16, that variable will be automatically reverted to 3 (the worst texture quality allowed when this lock is enabled. Note about r_picmip: best texture quality is r_picmip 0, and higher values mean lower quality.). It does not include the basic lock features (FOV lock): if you want to enable both of them, you have to sum up their values. Vertex lock * 4 - Vertex lock. Prevents users from using "vertex lighting", forcing them to use "lightmap lighting" instead. Vertex lighting allows to achieve higher frames-per-seconds, but makes the game look worse and the different looking may give an unfair advantage helping spotting other players. This videoflags forces clients to set r_vertexlight variable to 0 (which is its default value). Note: if clients set /cg_autovertex 1 (its default value is 0), they will automatically have r_vertexlight enabled each time they will connect to a server that has this videoflags lock disabled. See also * Gametype * Manual/Gamemodes * Command console * Killing Sprees, Death Sprees and Multikills * Game physics - The game can use different ways to calculate the physics. * Configuration examples Category:Configuration examples Category:Manual Category:Servers